.. :validated: 2.5.0

Обновление подсистем ALD Pro через портал управления
====================================================

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Функционал реализован в виде Политик обновления ALD Pro и функционирует аналогично **Групповым Политикам** по pull-модели. **Standalone-миньон** - автономный клиент на компьютерах домена для запуска заданий и локальных задач без подключений к мастеру - отвечает за формирование *source.list* и обновление **aldpro-client** при появлении новых версий **ALD Pro** в репозиториях, повышая гибкость и автономность процесса обновления на компьютерах клиентов.

Управление политикой обновления осуществляется через интерфейс **Портала Управления** в разделе **Установка и обновление ПО** – **Политики обновления ALD Pro**:

Для создания новой политики обновления ALD Pro необходимо нажать на кнопку [**+ Новая политика обновления**]. Будет выполнен переход на карточку новой политики.

На карточке на вкладке **Основное** задать имя политики обновления ALD Pro. Также можно указать описание политики. Указать статус политики: [**Включена**] и нажать кнопку [**Сохранить**] (рис. 3.2).

.. figure:: media/subsystems_update_1.png
    :scale: 50
    :name: рис. 3.2

    Создание Групповой Политики обновления подсистем. Вкладка "Основное"

На вкладке **Source list** нажать кнопку [**Редактировать**] и ввести:

.. code-block:: bash

    deb https://dl.astralinux.ru/aldpro/frozen/01/2.5.0/ 1.7_x86-64 main base

Затем оставить внизу комментарий (обязательно) и нажать кнопку [**Сохранить**].

.. figure:: media/subsystems_update_2.png
    :scale: 50

    Создание Групповой Политики обновления подсистем. Вкладка "Source list"

На вкладке **Компьютеры** указать все компьютеры или группы компьютеров, требующих обновления:

.. figure:: media/subsystems_update_3.png
    :scale: 50
    :name: рис. 3.3

    Создание Групповой Политики обновления подсистем. Вкладка "Компьютеры"

.. important::

    При запуске политики обновления проверяется значение osfamily компьютера и, в зависимости от него, формируется разный путь к источнику обновлений на клиенте. 
    
Для **ALSE 1.7.xxx**, **1.8.xxx** и всех оперативных обновлений ``sources.list`` расположен по пути ``/etc/apt/sources.list.d/aldpro.list``.

Для клиентов с **Альт Рабочая станция 10.4** и **Альт СП 10** - ``etc/apt/sources.list.d/aldpro.list``.

Для клиентов с **ОС РЕД ОС 7.3** и **РЕД ОС 8** - ``/etc/yum.repos.d/aldpro.repo``. 

Для более удобной и правильной работы политик обновления ALD Pro и указания ``sources.list`` рекомендуется создавать отдельные политики для каждой ОС.

Политика обновления выполняется раз в сутки по таймеру.

Начиная с версии 2.3.0 после создания ГП и перед обновлением клиента, необходимо **на компьютере подсистемы Общего Доступа к Файлам** выполнить следующую команду:

.. code-block:: bash
    
    kdestroy -A

Для проверки успешного применения политик обновления необходимо выполнить следующие команды (при условии, что в */etc/apt/sources.list.d/aldpro.list* указан репозиторий с версией выше, чем установлена на компьютере):

.. code-block:: bash

    # Проверка версии aldpro-client
    apt-cache policy aldpro-client
    # Проверка версий зависимостей
    apt-cache policy astra-freeipa-client salt-minion zabbix-agent python3 aldpro-client-rdm syslog-ng initramfs-tools aldpro-common python3-distro python3-yaml aldpro-policy-manager

Форсированное применение политики:

.. code-block:: bash

    aldpro-salt-call aldpro_update_policy.build_and_run_updatepolicy
    
``Verbose=True`` указывает на необходимость вывода подробной информации, а ``force=True`` обозначает, что нужно очистить кэши перед началом работы команды. По умолчанию оба параметра имеют значение ``False``.

.. code-block:: bash

    aldpro-salt-call aldpro_update_policy.build_and_run_updatepolicy force

Если политика была успешно применена, в выводе будут строки, подобные следующим:

.. code-block:: bash

    aldpro-client:
        new:
            2.5.0
        old:
            2.4.0-8

Для принудительного обновления пакетов ALD Pro в терминале клиентов:

.. code-block:: bash
    
    sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Так же необходимо в версии ALD Pro 2.5.0 выполнить принудительно через терминалы клиентов скачивание и установку последней версии **Policy Manager**:

    .. code-block:: bash
    
        sudo aldpro-gpupdate --pm

Для повышения производительности домена с помощью Групповой Политики можно отключить связь с **salt master-minion** в разделе **Групповые Политики** на вкладке **Параметры компьютеров** в папке **Система** (рис. 3.5):

.. figure:: media/subsystems_update_4.png
    :scale: 50
    :name: рис. 3.4

    Перевести состояние параметра в режим "Выключено"

Принудительное применение ГП:

    .. code-block:: bash
    
        sudo aldpro-gpupdate --gp

В связи с тем, что реализован функционал централизованного обновления **Policy Manager** на клиентских компьютерах, для применения ГП необходимо дождаться загрузки актуального **Policy Manager** на клиент, что занимает максимум 80 минут. Ожидание применения ГП на клиенте также составляет максимум 80 минут. Таким образом, максимальное время применения ГП - 160 минут.

Обновление подсистем запускается в карточке подсистемы из списка, находящегося в **Управление доменом** - **Общая информация** - **Состав системы** (рис. 3.5):

.. figure:: media/subsystems_update_5.png
    :scale: 50
    :name: рис. 3.5

    Перевести состояние параметра в режим **Включено**

Обновление запускается кнопкой [**Обновить ALD Pro**] (рис. 3.6):

.. figure:: media/subsystems_update_6.png
    :scale: 50
    :name: рис. 3.6

    Карточка подсистемы

На клиенте выполнить форсированное применение обновления:

.. code-block:: bash

    aldpro-roles --iud

Для лучшего контроля за процессом обновления реплик рекомендуется использовать форсированное обновление из командной строки на реплике:

.. code-block:: bash

    aldpro-roles --iud --action update

В случае успешного обновления ALD Pro на компьютере подсистемы карточка подсистемы будет выглядеть так (рис. 3.7):

.. figure:: media/subsystems_update_7.png
    :scale: 50
    :name: рис. 3.7

    Карточка подсистемы после успешного обновления

Если в процессе обновления что-то пошло не так, в карточке подсистемы будет отображаться ошибка.
